package com.example.vue_shop.components.role.service;

import com.example.vue_shop.components.rights.entity.TreeRights;
import com.example.vue_shop.components.role.entity.Role;
import com.example.vue_shop.components.role.entity.TreeRole;

import java.util.List;

/**
 * @author lipengwei
 */
public interface RoleService {
    /**
     * 获取角色列表
     * @param pageNum 页数
     * @param pageSize 每页显示的数量
     */
    List<TreeRole> getRoleList(int pageNum, int pageSize);

    /**
     * 删除角色下的权限.
     * @param roleId 角色Id
     * @param rightsId 权限Id
     */
    List<TreeRights> delRoleRights(int roleId, int rightsId);

    /**
     * 角色添加权限.
     * @param roleId 角色Id
     * @param rightsIdsJson 权限IdJson字符串
     */
    void addRoleRights(int roleId, String rightsIdsJson);

    /**
     * 新增角色.
     * @param role 角色对象
     */
    void addRole(Role role);

    /**
     * 获取所有角色列表.
     * @return List<Role>
     */
    List<Role> getAllRoleList();

    /**
     * 更新用户的角色.
     * @param userId 用户Id
     * @param roleId 角色Id
     */
    void updateUserRole(int userId, int roleId);
}
